Cable suspension detection

ABSTRACT

An apparatus for an embedded sensor cable assembly, where a first cable assembly includes a cable portion and a connector portion. The cable portion includes a first embedded sensor and a second embedded sensor, where the first embedded sensor is electrically coupled to the second embedded sensor and where the first embedded sensor and the second embedded sensor is capable of registering orientation measurements. A microcontroller is electrically coupled to the connector portion, first embedded sensor and the second embedded sensor, where the microcontroller is capable of receiving the orientation measurements from the first embedded sensor and the second embedded sensor.

FIELD OF THE INVENTION

This disclosure relates generally to cable management, and inparticular, to determining a shape of a cable.

BACKGROUND OF THE INVENTION

In certain instances, suspension of cable structures can result inhealth and safety issues. For example, a cable suspended between twopoints can shift outside operational bounds due to external forces, suchas heavy wind or inadvertent contact. Subsequently, the cable suspendedoutside the operational bounds can pose a risk to individuals in avicinity of the cable or to other equipment connected to the cable. Theshifting of the cable suspended between two points outside operationalbounds may not become apparent to an individual monitoring the cable dueto the progressiveness of the shifting cable.

SUMMARY

One aspect of an embodiment of the present invention discloses anapparatus for an embedded sensor cable assembly, the apparatuscomprising, a first cable assembly, wherein the first cable assemblyincludes a cable portion and a connector portion; the cable portionincludes a first embedded sensor and a second embedded sensor, whereinthe first embedded sensor is electrically coupled to the second embeddedsensor, and wherein the first embedded sensor and the second embeddedsensor is capable of registering orientation measurements; and amicrocontroller electrically coupled to the connector portion, firstembedded sensor, and the second embedded sensor, wherein themicrocontroller is capable of receiving the orientation measurementsfrom the first embedded sensor and the second embedded sensor.

A second aspect of an embodiment of the present invention discloses amethod comprising, determining, by one or more processors, a first basereading corresponding to a first sensor and a second base readingcorresponding to a second sensor, wherein the first sensor and thesecond sensor are embedded on a cable portion of a cable assembly;responsive to receiving a first reading corresponding to the firstsensor and a second reading corresponding to the second sensor,determining, by one or more processors, whether a cable placement of thecable portion of a cable assembly is outside a safety limit; andresponsive to determining the cable placement of the cable portion ofthe cable assembly is outside the safety limit, sending, by one or moreprocessors, an alert.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The following detailed description, given by way of example and notintended to limit the disclosure solely thereto, will best beappreciated in conjunction with the accompanying drawings, in which:

FIG. 1 depicts a cable with sensor configuration, in accordance with anembodiment of the present invention.

FIG. 2A depicts a cable with sensor and indicator configuration, inaccordance with one embodiment of the present invention.

FIG. 2B depicts a single sensor and LED combination for the cable ofFIG. 2, in accordance with one embodiment of the present invention.

FIG. 3 depicts an example of sensor output patterns for determiningcable placement, in accordance with one embodiment of the presentinvention.

FIG. 4 is a functional block diagram illustrating a distributed dataprocessing environment, in an embodiment, in accordance with the presentinvention.

FIG. 5 is a flowchart depicting operational steps of a cable managementprogram for determining cable placement, in accordance with oneembodiment of the present invention.

FIG. 6 depicts a block diagram of components of a computer system, suchas the client device of FIG. 4, in an embodiment, in accordance with thepresent invention.

DETAILED DESCRIPTION

Detailed embodiments of the present invention are disclosed herein withreference to the accompanying drawings; however, it is to be understoodthat the disclosed embodiments are merely illustrative of potentialembodiments of the invention and may take various forms. In addition,each of the examples given in connection with the various embodiments isalso intended to be illustrative, and not restrictive. This descriptionis intended to be interpreted merely as a representative basis forteaching one skilled in the art to variously employ the various aspectsof the present disclosure. In the description, details of well-knownfeatures and techniques may be omitted to avoid unnecessarily obscuringthe presented embodiments.

FIG. 1 depicts a cable with sensor configuration, in accordance with anembodiment of the present invention. In this embodiment, cable assembly100 includes cable portion 102 and connector 104. Cable portion 102represents any cable such as a twisted pair, fiber optic, coaxial,patch, power lines, hybrid fiber-coaxial, Power over Ethernet (PoE), andany other known cables in the art. Connector 104 represents anyelectrical connector capably of supplying electrical current to cableportion 102 of cable assembly 100. Cable portion 102 further includesembedded sensors 106A, 106B, 106C, and 106N electrically connected(i.e., coupled) to embedded microcontroller 108. Embedded sensor 106Nrepresents an embedded sensor situated further along cable portion 102of cable assembly 100, for example, the 10^(th) or the 20^(th) embeddedsensor.

In this embodiment, embedded sensors 106A, 106B, 106C, and 106N arearranged in series along cable portion 102 of cable assembly 100. In analternative embodiment, not illustrated in FIG. 1, embedded sensors106A, 106B, 106C, and 106N can be arranged in parallel to prevent asingle embedded sensor failure from affecting the remaining embeddedsensors. In this embodiment, embedded sensors 106A, 106B, 106C, and 106Nrepresent orientation sensors capable of registering various ranges oforientation and motions utilizing a 3-axis accelerometer, 3-axisgyroscope, and 3-axis magnetometer (i.e., 9 Degrees of Freedom). Inother embodiments, embedded sensors 106A, 106B, 106C, and 106N utilizeany combination of a 3-axis accelerometer, 3-axis gyroscope, and 3-axismagnetometer to register various ranges of orientation and motionreadings. Embedded sensors 106A, 106B, 106C, and 106N can each registervalues at set time intervals to allow for microcontroller 108 todetermine cable placement for cable portion 102 of cable assembly 100,which is discussed in further detail in FIG. 5.

Embedded sensor 106A and embedded sensor 106B are electrically connected(i.e., coupled) and separated by distance 110A (i.e., X₁). Embeddedsensor 106B and embedded sensor 106C are electrically connected (i.e.,coupled) and separated by distance 110B (i.e., X₂). In this embodiment,distance 110A separating embedded sensor 106A and 106B is equal todistance 110B separating embedded sensor 106B and 106C (i.e., X₁=X₂).Additionally, any subsequent embedded sensor (e.g., embedded sensor106N) is electrically coupled to a previous embedded sensor along cableportion 102, at a distance (i.e., X_(N)) equal to distance 110A and 110B(i.e., X₁=X₂=X_(N)). In another embodiment, cable portion 102 caninclude a higher concentration of embedded sensors in areas of cableportion 102 experiencing smaller variations in orientation. For example,there may be a higher concentration of embedded sensors near connector104, where a distance between each embedded sensor increases whichembedded sensors further down the length of cable portion 102 (i.e.,towards embedded sensor 110N).

Microcontroller 108 is able to send and receive information fromembedded sensors 106A, 106B, 106C, and 106N. In one example,microcontroller 108 can receive orientation and motion information fromembedded sensors 106A, 106B, 106C, and 106N, where the orientation andmotion information includes gravitational force (i.e., g-force)measurements and acceleration measurements. In another example,microcontroller 108 can receive information from embedded sensors 106A,106B, 106C, and 106N, where the information can include any combinationof gravitational force measurements, acceleration measurements, andmagnetism measurements. Connector 104 provides a path to query andcontrol microcontroller 108, along with embedded sensors 106A, 106B,106C, and 106N. Furthermore, microcontroller 108 has the ability to sendinformation received from embedded sensors 106A, 106B, 106C, and 106N toa client device or cable management program 410, discussed in furtherdetail in FIG. 4.

Microcontroller 108 has the ability to utilize base measurements forembedded sensors 106A, 106B, 106C, and 106N and monitor currentmeasurements from embedded sensors 106A, 106B, 106C, and 106N, todetermine if any of the current measurements exceeded a pre-determinedthreshold. For example, if embedded sensor 106A includes a basemeasurement of “0”, microcontroller 108 can utilize a “+/−0.5” thresholdto determine when current measurements exceed specific limitation ofcable assembly 100. For discussion purposes, “+0.5” represents an upperbound of the threshold and “−0.5” represents a lower bound of thethreshold, where “1” represents a total range of the threshold. Thepre-determined threshold takes into account any cable movements thatwould be deemed insignificant, for example, due to light winds thatwould not cause cable assembly 100 to be suspended in a dangerousmanner. Additionally, microcontroller 108 can take into accountsituations where a single embedded sensor (e.g., embedded sensor 106B)has failed when the single embedded sensor is sending measurementsoutside the pre-determined threshold. Microcontroller 108 can determineif embedded sensors (e.g., embedded sensor 106A and 106C) surroundingthe single embedded sensor (e.g., embedded sensor 106B) are sendingmeasurements outside the pre-determined threshold. If embedded sensor106A and 106C each send measurements within the pre-determinedthreshold, then embedded sensor 106B has failed. If at least one ofembedded sensor 106A and 106C sends measurements outside the bounds ofthe pre-determined threshold, then embedded sensor 106B has not failedand the cable has been improperly suspended.

FIG. 2A depicts a cable with sensor and indicator configuration, inaccordance with one embodiment of the present invention. In thisembodiment, cable assembly 200 includes cable portion 202 and connector204. Connector 204 represents any electrical connector capably ofsupplying electrical current to cable portion 202 of cable assembly 200.Cable portion 202 further includes embedded components 206A, 206B, 206C,and 206N electrically connected (i.e., coupled) to embeddedmicrocontroller 208. In this embodiment, embedded components 206A, 206B,206C, and 206N are arranged in series along cable portion 202 of cableassembly 200, where each embedded component (e.g., embedded component206A) includes a light-emitting diode (e.g., LED 210A) and an embeddedsensor (e.g., embedded sensor 212A), discussed in further detail in FIG.2A.

FIG. 2B depicts a single sensor and LED combination for the cable ofFIG. 2, in accordance with one embodiment of the present invention. Inthis embodiment, embedded component 206A from FIG. 2A includes LED 210Aand embedded sensor 212A, where LED 210A is electrically coupled toembedded sensor 212A. In another embodiment, LED 210A operates on acircuit independent from embedded sensor 212A. Microcontroller 208 hasthe ability to provide a visual indicator, for example, via LED 210A oncable portion 202 when cable assembly 200 has been suspended in a manneroutside a pre-determined threshold. In the event cable assembly 200 hasbeen suspended in a manner outside a pre-determined threshold,microcontroller 208 can activate the LEDs, including LED 210A alongcable portion 202 to indicate that cable assembly 200 is currentlyimproperly suspended. A color of the activated LEDs along cable portion202 can act as the visual indicator of whether cable assembly 200 isproperly suspended. For example, if the activated LEDs are red in color,then cable assembly 200 is currently improperly suspended and if theactivated LEDs are green in color, then cable assembly 200 is currentlyproperly suspended. Additionally, LED 210A can act as a visual indicatorif embedded sensor 212A fails. For example, in the event microcontroller208 determines that embedded sensor 212A has failed, microcontroller 208can activate LED 210A in an orange color.

FIG. 3 depicts an example of sensor output patterns for determiningcable placement, in accordance with one embodiment of the presentinvention. In this example, cable portion 302 is suspended in aparabolic manner. Embedded sensor 304A, 304B, 304C, 304D, and 304N arelocated along cable portion 302 of a cable assembly. Embedded sensor304N represents an embedded sensor situated further along cable portion302 of the cable assembly, for example, the 10^(th) or the 20^(th)embedded sensor. Embedded sensors 304A, 304B, 304C, 304D, and 304N eachproduce measurement readings for an angle that each embedded sensor iscurrently tilted around its respective axes. A microcontroller cancompile this information and determine a cable placement of cableportion 302 of the cable assembly based on known distances between eachof the embedded sensors (e.g., distance between embedded sensor 304B andembedded sensor 304C). In this example, embedded sensor 304A produces a−80 degree rotational angle, embedded sensor 304B produces a −50 degreerotational angle, embedded sensor 304C produces a 0 degree rotationangle, embedded sensor 304D produces a 50 degree rotational angle, andembedded sensor 304N produces an 80 degree rotational angle. Tangentline 306A, 306B, 306C, 306D, and 306N each represent the degreerotational angles for embedded sensor 304A, 304B, 304C, 304D, and 304N,respectively.

Additionally, various embodiments are not limited to a spatialvisualization of the cable placement of the cable assembly based on adeviation from a base value (e.g., 0) for each of the embedded sensors.For example, in scenarios where the cable assembly experiences anoccurring motion, the microcontroller may not be able to establish basevalues for each of the embedded sensors. The microcontroller candetermine the spatial visualization of the cable placement of the cableassembly by compiling orientation information from each of the embeddedsensors and determining the cable placement based on a relationshipbetween the compiled orientation information from each of the embeddedsensors. The orientation information from each embedded sensorrepresents a segment of the cable assembly for which the microcontrollercompiles into creating the spatial visualization of the cable placementof the cable assembly.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting to the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise.

Having described preferred embodiments of an embedded sensor cableassembly (which are intended to be illustrative and not limiting), it isnoted that modifications and variations may be made by persons skilledin the art in light of the above teachings. It is therefore to beunderstood that changes may be made in the particular embodimentsdisclosed which are within the scope of the invention as outlined by theappended claims.

FIG. 4 is a functional block diagram illustrating a distributed dataprocessing environment, in an embodiment in accordance with the presentinvention. The distributed data processing environment includes clientdevice 404 and cable assembly 406, all interconnected over network 408.

Client device 404 may be a laptop computer, tablet computer, netbookcomputer, personal computer (PC), personal digital assistant (PDA),smart phone, wearable device (e.g., smart watch, personal fitnessdevice, personal safety device), or any programmable computer systemknown in the art with an interactive display. Client device 404 includesuser interface 420 and may include a client based cable managementprogram 410, not illustrated in FIG. 4. In general, client device 404 isrepresentative of any programmable electronic device or combination ofprogrammable electronic devices capable of executing machine-readableprogram instructions and communicating with users of other electronicdevices via network 408. Client device 404 may include components, asdepicted and described in further detail with respect to FIG. 6, inaccordance with embodiments of the present invention.

Cable assembly 406 includes embedded microcontroller 412 and connector414, where connector 414 allows for sending and receiving of informationbetween embedded microcontroller 412 and client device 404. Embeddedmicrocontroller 412 is electrically connected to sensor 416A, 416B, and416N and is capable of receiving measurement readings from sensor 416A,416B, and 416N. Sensor 416A, 416B, and 416N each include LED 418A, 418B,and 418N, respectfully. In this embodiment, LED 418A, 418B, and 418Nrepresent visual indicators, which can alert individuals in a vicinityof cable assembly 406 if cable placement of cable assembly 406 isoutside the safety limits. Sensor 416N and LED 418N represents anembedded sensor and LED situated further along a cable portion of cableassembly 406, for example, the 10^(th) or the 20^(th) embedded sensor.

Embedded microcontroller 412 includes cable management program 410 fordetermining cable placement, where the cable is being suspended betweentwo points. Cable management program 410 has the ability to establish abase placement for the cable being suspended by determining basereadings for each embedded sensor along a cable portion of the cableassembly. Subsequent to establishing base reading, cable managementprogram 410 can receive readings from the embedded sensors and determinecable placement based on the readings from the embedded sensors. Cablemanagement program 410 can determine whether the cable placement of thecable assembly is outside the safety limits and send an alert subsequentto determining the cable placement of the cable assembly exceeds thesafety limits. In an alternative embodiment, microcontroller 412includes the above-discussed steps of cable management program 410 inthe form of control logic.

Client device 404 also includes user interface (UI) 420 and variousprograms (not shown). Examples of the various programs on client device404 include: a web browser, an e-mail client, security software (e.g., afirewall program, a geo-locating program, an encryption program, etc.),an instant messaging (IM) application (app), and a communication (e.g.,phone) application. In an example, a user of client device 404 caninteract with user interface 420, such as a touch screen (e.g., display)that performs both input to a graphical user interface (GUI) and as anoutput device (e.g., a display) presenting a plurality of iconsassociated with software applications or images depicting the executingsoftware application. Optionally, a software application (e.g., a webbrowser) can generate user interface 420 operating within the GUI ofclient device 404. User interface 420 accepts input from a plurality ofinput/output (I/O) devices including, but not limited to, a tactilesensor interface (e.g., a touch screen, a touchpad) referred to as amulti-touch display. An I/O device interfacing with user interface 420may be connected to client device 404, which may operate utilizing wired(e.g., USB port) or wireless network communications (e.g., infrared,NFC, etc.).

In general, network 408 can be any combination of connections andprotocols that will support communications between client device 404 andcable assembly 406. Network 408 can include, for example, a local areanetwork (LAN), a wide area network (WAN), such as the internet, acellular network, or any combination of the preceding, and can furtherinclude wired, wireless, and/or fiber optic connections. In oneembodiment, cable management program 410 can be a web service accessiblevia network 408 to a user of client device 404.

FIG. 5 is a flowchart depicting operational steps of a cable managementprogram for determining cable placement, in accordance with oneembodiment of the present invention.

Cable management program 410 determines base readings for sensors (502).In this embodiment, cable management program 410 determines basemeasurement readings for each sensor embedded in a cable portion of thecable assembly. Once a cable assembly is placed into a suspendedposition, for example, between point A and point B, cable managementprogram 410 can query a microcontroller on the cable assembly todetermine base measurement readings for each sensor embedded in thecable portion of the cable assembly and receive the set base measurementreadings from the microcontroller. In this embodiment, cable managementprogram 410 determines base measurement reading for each sensor. Forexample, the determined measurements for the cable assembly suspendedbetween point A and B can include the values, “−6, −4, −2, −1, 0, 0, +1,+2, +4, +6”. In another embodiment, cable management program 410calculates a slope between each of the sensors based on a length of acable portion of the cable assembly, the spacing between each of theembedded sensors, and the measurement readings from each of the sensors.

Cable management program 410 receives readings from sensors (504). Inthis embodiment, cable management program 410 receives measurementreadings from each sensor embedded in the cable portion of the cableassembly in pre-determined intervals. For example, cable managementprogram 410 can receive measurement readings from each sensor in5-second intervals. An administrative user of cable management program410 has ability to set the pre-determined interval via a user interface(e.g., user interface 420) on a client device (e.g., client device 404).In addition to received measurement readings from each sensor, eachreceived measurement reading can include an associated time stamp. Themeasurement readings can include information such as, gravitationalforce measurements, acceleration measurements, and magnetismmeasurements.

Cable management program 410 determines cable placement based onreadings from sensors (506). In this embodiment, cable managementprogram 410 determines cable placement of the cable portion of the cableassembly based orientation and motion information. The orientation andmotion information is based on the gravitational force measurements,acceleration measurements, and magnetism measurements that the embeddedmicrocontroller (e.g., embedded microcontroller 412) receives at settime intervals. In another embodiment, cable management program 410determines cable placement of the cable portion of the cable assemblybased on slope calculations between sensors embedded in the cableportion. Based on a length of a cable portion of the cable assembly, thespacing between each of the embedded sensors, and the measurementreadings from each of the embedded sensors, cable management program 410can utilize the readings received from the microcontroller to determinea slope between two embedded sensors. Cable management program 410 cancalculate a slope between a first sensor and a second sensor, the secondsensor and a third sensor, the third sensor and a fourth sensor, and soon for all remaining sensors in the cable portion of the cable assembly.Cable management program 410 compiles the determined slopes anddetermines the cable placement of the cable assembly. A visualrepresentation of determining the cable placement of the cable assemblyis illustrated in FIG. 3.

Cable management program 410 determines whether cable placement isoutside the safety limits (508). In the event, cable management program410 determines the cable placement is outside the safety limits (“yes”branch, 508), cable management program 410 sends an alert (510). In theevent cable management program 410 determines the cable placement is notoutside the safety limits (“no” branch, 508), cable management program410 reverts back to receiving readings from sensors (504).

In this embodiment, cable management program 410 utilizes apre-determined threshold for determining whether cable placement isoutside the safety limits. For example, if embedded sensor 106A includesa base measurement reading of “0”, cable management program 410 canutilize a “+/−0.5” threshold to determine when current measurementreadings exceed specific limitation of the cable assembly. Fordiscussion purposes, “+0.5” represents an upper bound of the thresholdand “−0.5” represents a lower bound of the threshold, where “1”represents a total range of the threshold. The pre-determined thresholdtakes into account any cable movements that would be deemedinsignificant, for example, due to light winds that would not causecable assembly 100 to be suspended in a dangerous manner. In the eventtwo or more sensors register measurement readings outside the lowerbound of the threshold and the upper bound of the threshold, cablemanagement program 410 determines the cables place is outside the safetylimits. In the event no sensor registers measurement readings outsidethe lower bound of the threshold and the upper bound of the threshold,cable management program 410 determines the cables place is not outsidethe safety limits. In the event a single sensor registers measurementreadings outside the lower bound of the threshold and the upper bound ofthe threshold, cable management program 410 determines the single sensoris faulty due to a sensor located fore and a sensor located aft relativeto the single sensor, not registering measurement readings outside thelower bound of the threshold and the upper bound of the threshold.

Cable management program 410 sends an alert (510). In this embodiment,cable management program 410 sends an alert by activating a visualindicator (e.g., LED) associated with each sensor embedded on the cableportion of the cable assembly. Cable management program 410 can utilizesvarious colors to indicate whether or not the cable placement is outsidethe safety limits. For example, green can indicate that the cableplacement is not outside the safety limits, while red can indicate thatthe cable placement is outside the safety limits. Activation of the LEDsassociated with each sensor alerts a person within a vicinity of thecable assembly that the cable placement is outside the safety limits.Additionally, in the event cable management program 410 determines asingle sensor is faulty in the cable assembly, cable management program410 can activate the LED associated with the faulty sensor in an orangecolor. In another embodiment, cable management program 410 sends anotification to a client device (e.g., client device 404) associatedwith an administrative user. The notification can include an indicationthat the cable placement of the cable portion of the cable assembly isoutside the safety limit. Additionally, the notification can includebase measurement readings and a visualization of the cable placementbased on the base measurement readings, along with the measurementreadings and a visualization of the cable placement outside the safetylimits.

FIG. 6 depicts computer system 600, where embedded microcontroller 412is an example of a system that includes cable management program 410.The computer system includes processors 604, cache 616, memory 606,persistent storage 608, communications unit 610, input/output (I/O)interface(s) 612 and communications fabric 602. Communications fabric602 provides communications between cache 616, memory 606, persistentstorage 608, communications unit 610, and input/output (I/O)interface(s) 612. Communications fabric 602 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric602 can be implemented with one or more buses or a crossbar switch.

Memory 606 and persistent storage 608 are computer readable storagemedia. In this embodiment, memory 602 includes random access memory(RAM). In general, memory 606 can include any suitable volatile ornon-volatile computer readable storage media. Cache 616 is a fast memorythat enhances the performance of processors 604 by holding recentlyaccessed data, and data near recently accessed data, from memory 606.

Program instructions and data used to practice embodiments of thepresent invention may be stored in persistent storage 608 and in memory606 for execution by one or more of the respective processors 604 viacache 616. In an embodiment, persistent storage 608 includes a magnetichard disk drive. Alternatively, or in addition to a magnetic hard diskdrive, persistent storage 608 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 608 may also be removable. Forexample, a removable hard drive may be used for persistent storage 608.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage608.

Communications unit 610, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 610 includes one or more network interface cards.Communications unit 610 may provide communications through the use ofeither or both physical and wireless communications links. Programinstructions and data used to practice embodiments of the presentinvention may be downloaded to persistent storage 608 throughcommunications unit 610.

I/O interface(s) 612 allows for input and output of data with otherdevices that may be connected to each computer system. For example, I/Ointerface 606 may provide a connection to external devices 618 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 618 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention can be stored on such portablecomputer readable storage media and can be loaded onto persistentstorage 608 via I/O interface(s) 612. I/O interface(s) 612 also connectto display 620.

Display 620 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

What is claimed is:
 1. A method comprising: determining, by one or moreprocessors, a first base reading corresponding to a first sensor and asecond base reading corresponding to a second sensor, wherein the firstsensor and the second sensor are embedded on a cable portion of a cableassembly; responsive to receiving a first reading corresponding to thefirst sensor and a second reading corresponding to the second sensor,determining, by one or more processors, whether a cable placement of thecable portion of the cable assembly is outside a safety limit;responsive to determining the cable placement of the cable portion ofthe cable assembly is outside the safety limit, sending, by one or moreprocessors, an alert; and activating, by one or more processors, a firstvisual indicator associated with the first sensor and a second visualindicator associated with the second sensor, wherein the first visualindicator and the second visual indicator are embedded in the cableportion of the cable assembly.
 2. The method of claim 1, wherein sendingan alert comprises: sending, by one or more processors, a notificationto a client device, wherein the notification includes an indication thatthe cable placement of the cable portion of the cable assembly isoutside the safety limit.
 3. The method of claim 2, wherein thenotification further includes the first reading and the second reading,and a visualization of the cable placement of the cable portion of thecable assembly outside the safety limits.
 4. The method of claim 3,wherein the notification further includes the first base reading and thesecond base reading and a visualization of the cable placement based onthe first base reading and the second base reading.
 5. The method ofclaim 1, wherein determining a first base reading corresponding to afirst sensor and a second base reading corresponding to a second sensorfurther comprises: querying, by one or more processors, amicrocontroller associated with the first sensor and the second sensorfor the first base reading and the second base reading; and responsiveto receiving the first base reading and the second base reading from themicrocontroller, determining, by one or more processors, a visualizationof the cable placement based on the first base reading and the secondbase reading.
 6. The method of claim 5, wherein determining avisualization of the cable placement based on the first base reading andthe second base reading is based on a slope between the first sensor andthe second sensor, wherein the slope is calculated from a length of thecable portion of the cable assembly, a spacing between the first sensorand the second sensor, and the first base reading and the second basereading.
 7. The method of claim 1, further comprising: determining, byone or more processors, a visualization of the cable placement based onthe first reading and the second reading.
 8. The method of claim 7,wherein determining a visualization of the cable placement based on thefirst reading and the second reading is based on a slope between thefirst sensor and the second sensor, wherein the slope is calculated froma length of the cable portion of the cable assembly, a spacing betweenthe first sensor and the second sensor, and the first base reading andthe second base reading.
 9. The method of claim 1, wherein determiningwhether a cable placement of the cable portion of the cable assembly isoutside a safety limit comprises: determining, by one or moreprocessors, whether a first slope between the first reading and thesecond reading is outside a threshold range, wherein the threshold rangeis based on the first base reading and the second base reading.
 10. Themethod of claim 1, wherein a first reading corresponding to the firstsensor and a second reading corresponding to the second sensor eachinclude orientation measurements.
 11. The method of claim 10, whereinthe orientation measurements include at least one of: gravitationalforce measurements, acceleration measurements, or magnetismmeasurements.
 12. The method of claim 10, wherein a first base readingcorresponding to a first sensor and a second base reading correspondingto a second sensor each include orientation measurements.